﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DotNET4Study
{
    public static class ClassRelationshipStudy
    {
        public class ScrewDriver
        {

        }

        public class Person
        {

        }

        public class Student : Person
        {
            //一个类中通过属性使用另一个类，那么这就是“关联”（用实线箭头表示）
            //即是说两个类之间的关系比较密切和固定（B类是A类的一个直接特征）
            public School school { get; set; }
        }

        public class Worker : Person
        {
            //一个类的方法的参数或者方法体内使用另一个类，叫做“依赖”（用虚线箭头表示）
            //两个类之间的关系相对松散（B类通过A类的方法间接出现在A类中）
            public void DoWork(ScrewDriver screwDriver)
            {

            }
        }

        public class School
        {
            public List<Student> Students
            { get; set; }
        }
    }
}
